package com.flyqiu.common.user;

import com.alibaba.fastjson2.JSONObject;

public interface FlyQiuUser {
    /**
     * 获取用户id
     *
     * @return 用户id
     */
    String getId();

    /**
     * 获取用户昵称
     *
     * @return 用户昵称
     */
    String getNickName();

    /**
     * 获取用户类型
     *
     * @return 用户类型
     */
    String getUserType();

    /**
     * 获取用户唯一标识
     *
     * @return 用户唯一标识
     */
    default String getUniqueKey() {
        return getUserType() + ":" + getId();
    }

    /**
     * 获取用户扩展信息
     *
     * @return 用户扩展信息
     */
    JSONObject getUserAttr();

    /**
     * 获取用户租户id
     *
     * @return 用户租户id
     */
    default String getTenantId() {
        return null;
    }


}
